﻿using Util.ExtensionMethods;
using PersistLayer.DAL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace LojaVirtual.Site.Pages.Site
{
	public partial class Home : BaseSite
	{
		protected void Page_Load(object sender, EventArgs e)
		{
			base.PageLoad();
		}

		public override void CarregaTexto()
		{
			btnVerMaisMaisVendidos.Text = Resources.Geral.VerMais;
			btnVerMaisNovidades.Text = Resources.Geral.VerMais;
			btnVerMaisPromocoes.Text = Resources.Geral.VerMais;
		}

		public override void CarregaDados()
		{
			rptCategorias.DataSource = new Produto_CategoriaDAL().Listar();
			rptCategorias.DataBind();

			CarregaMaisVendidos();
			CarregaNovidades();
			CarregaPromocoes();
		}

		private void CarregaMaisVendidos()
		{
			DataTable dt = new DataTable();
			dt.Columns.Add("Link");
			dt.Columns.Add("Nome");
			dt.Columns.Add("Imagem");
			dt.Columns.Add("Preco");
			dt.Columns.Add("displayPromo");

			foreach (var produto in new ProdutoDAL().ListarMaisVendidos(12))
			{
				dicRedirect = new Dictionary<string, string>();
				dicRedirect.Add(produto.ID.ToString(), Geral.Constantes.QUERY_STRING.PRODUTO_ID);

				if (produto.Promocao_ID == null)
					dt.Rows.Add(
						base.Redirecionar("Produto.aspx", dicRedirect),
						produto.Nome,
						ResolveUrl(produto.Imagem),
						"R$ " + produto.Preco.toMoneyString(), "style=\"display: none;\"");
				else
					dt.Rows.Add(
						base.Redirecionar("Produto.aspx", dicRedirect),
						produto.Nome,
						ResolveUrl(produto.Imagem),
						"R$ " + produto.Preco.toMoneyString(), "style=\"display: block;\"");
			}

			rptMaisVendidos.DataSource = dt;
			rptMaisVendidos.DataBind();
		}

		private void CarregaNovidades()
		{
			DataTable dt = new DataTable();
			dt.Columns.Add("Link");
			dt.Columns.Add("Nome");
			dt.Columns.Add("Imagem");
			dt.Columns.Add("Preco");
			dt.Columns.Add("displayPromo");

			foreach (var produto in new ProdutoDAL().ListarNovidades(12))
			{
				dicRedirect = new Dictionary<string, string>();
				dicRedirect.Add(produto.ID.ToString(), Geral.Constantes.QUERY_STRING.PRODUTO_ID);

				if (produto.Promocao_ID == null)
					dt.Rows.Add(
						base.Redirecionar("Produto.aspx", dicRedirect),
						produto.Nome,
						ResolveUrl(produto.Imagem),
						"R$ " + produto.Preco.toMoneyString(), "style=\"display: none;\"");
				else
					dt.Rows.Add(
						base.Redirecionar("Produto.aspx", dicRedirect),
						produto.Nome,
						ResolveUrl(produto.Imagem),
						"R$ " + produto.Preco.toMoneyString(), "style=\"display: block;\"");
			}

			rptNovidades.DataSource = dt;
			rptNovidades.DataBind();
		}

		private void CarregaPromocoes()
		{
			DataTable dt = new DataTable();
			dt.Columns.Add("Link");
			dt.Columns.Add("Nome");
			dt.Columns.Add("Imagem");
			dt.Columns.Add("Preco");
			dt.Columns.Add("displayPromo");

			foreach (var produto in new ProdutoDAL().ListarPromocoes(6))
			{
				dicRedirect = new Dictionary<string, string>();
				dicRedirect.Add(produto.ID.ToString(), Geral.Constantes.QUERY_STRING.PRODUTO_ID);

				if (produto.Promocao_ID == null)
					dt.Rows.Add(
						base.Redirecionar("Produto.aspx", dicRedirect),
						produto.Nome,
						ResolveUrl(produto.Imagem),
						"R$ " + produto.Preco.toMoneyString(), "style=\"display: none;\"");
				else
					dt.Rows.Add(
						base.Redirecionar("Produto.aspx", dicRedirect),
						produto.Nome,
						ResolveUrl(produto.Imagem),
						"R$ " + produto.Preco.toMoneyString(), "style=\"display: block;\"");
			}

			rptPromocoes.DataSource = dt;
			rptPromocoes.DataBind();
		}

		protected void btnVerMaisVendidos_Click(object sender, EventArgs e)
		{

		}
	}
}